<?php


if (!function_exists('success')) {
    function success($data = [], $errMsg = 'success', $errCode = 0)
    {
        $content = [
            'errCode' => $errCode,
            'errMsg'  => $errMsg,
            'data'    => $data,
        ];
        header('Content-Type:application/json');
        exit(json_encode($content));
    }
}


if (!function_exists('error')) {
    function error($errMsg = 'fail', $errCode = 4000, $data = [])
    {
        $content = [
            'errCode' => $errCode,
            'errMsg'  => $errMsg,
            'data'    => $data
        ];
        header('Content-Type:application/json');
        exit(json_encode($content));
    }
}


if (!function_exists('show_debug')) {
    function show_debug($message)
    {
        echo "<pre>";
        print_r($message);
        exit();
    }
}


if (! function_exists('jsonCurl')) {
    /**
     * json返回值的curl请求
     *
     * @param  string  $url    [请求地址]
     * @param  array   $datas  [请求数据，为空发送get请求，反之发送post请求]
     * @param  integer $second [超时时间，单位：秒]
     * @return array           [请求成功返回请求返回的数据数组，否则直接调用失败方法]
     */
    function jsonCurl($url, $datas = [], $second = 30)
    {
        // 初始化curl
        $ch = curl_init();
        // 设置超时
        curl_setopt($ch, CURLOPT_TIMEOUT, $second);
        //这里设置代理，如果有的话
        // curl_setopt($ch,CURLOPT_PROXY, '119.29.29.29');
        // curl_setopt($ch,CURLOPT_PROXYPORT, 80);
        if ( stripos($url, 'https://') !== false ) {
            // 对认证证书来源的检查
            curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
            // 从证书中检查SSL加密算法是否存在
            curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
        }
        curl_setopt($ch, CURLOPT_URL, $url);
        // 设置header
        curl_setopt($ch, CURLOPT_HEADER, false);
        // 要求结果为字符串且输出到屏幕上
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        // 使用自动跳转
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
        // 自动设置Referer
        curl_setopt($ch, CURLOPT_AUTOREFERER, true);
        if ( !empty($datas) ) {
            // 发送一个常规的Post请求
            curl_setopt($ch, CURLOPT_POST, true);
            // Post提交的数据包
            curl_setopt($ch, CURLOPT_POSTFIELDS, $datas);
        }
        $result = curl_exec($ch);
        $info   = curl_getinfo($ch);
        curl_close($ch);

        if ( intval($info['http_code']) == 200 ) {
            return json_decode($result, true);
        } else {
            error('请求失败');
        }
    }
}







